The present invention relates generally to a timing estimation method and apparatus for a location system, for example, a time difference of arrival (xe2x80x9cTDOAxe2x80x9d) system, a global positioning system (xe2x80x9cGPSxe2x80x9d), or the like.
Conventional location and tracking systems employ either location or tracking algorithms. In a time difference of arrival (xe2x80x9cTDOAxe2x80x9d) system, for example, there are often requirements for both location and tracking algorithms. Location algorithms derive a location from a set of readings. Location algorithms are often preferable due to the immediacy of the result; however, location algorithms are more susceptible to erroneous or missing arrival time reports than tracking algorithms. Moreover, location algorithms are limited by the necessity of having a sufficient number of arrival time reports on a single event, and rely entirely on the accuracy of those reports. Current location algorithms are capable of generating a location from a single set of arrival time reports, but require that such a set contain arrival time estimates from several receivers on the same transmission. This dramatically compounds the sensitivity of the system to erroneous or missing reports from a reporting site. Further, current location algorithms are vulnerable to transient errors in the arrival time reports.
Tracking algorithms, such as Kalman filter-based tracking solutions, derive a velocity model from a series of reports from various stations before any accurate locations can be displayed. With the Kalman filter-based tracking solutions, for example, the filter constants control the accuracy of the long-term result at the expense of response time. Tracking algorithms give smoother results in the long term and are more ergonomically acceptable than location algorithms. However, although tracking algorithms are less dependent on individual events, tracking algorithms require several sets of time arrival reports in order to stabilize the velocity model, and tracking algorithms cannot generate accurate information until they have sufficient historical data. Moreover, tracking algorithms have a settling time that delays or introduces errors to the displayed result. Further, while tracking algorithms tend to average out small perturbations in the incoming data, larger perturbations can have lasting and highly disruptive effects.
Another disadvantage with the prior art is the loading of the location engine. The location engine is tasked with calculating the location of the target device from the timing reports. Because the Kalman filter-based tracking solution requires information from all reporting sites to maintain the velocity model, this computation cannot be easily distributed to other system components. Existing systems may suffer from performance limitations due to the loading of the location engine by a large number of target devices, each target device requiring separate filter iterations for each report.
Moreover, the location engine receives individual timestamps for each signal from a plurality of reporting sites, and is required to perform a calculation on the plurality of individual timestamps received from a plurality of reporting sites to locate the target device. Thus, the location engine has to process each report from each reporting site about each target device, so the processing power of the location engine limits the number of target devices that can be supported at a given rate. Such a task is time-consuming due to the number of individual timestamps received.
Thus, there exists a need for a method which will provide: a prompt response as exhibited by location algorithms; the kind of information and accuracy exhibited by tracking algorithms; a high tolerance to erroneous or missing reports; and a simple and easy way to distribute processing among system components.